對陣列中的每個元素進行操作並返回一個新的陣列。
新的陣列是由對原始陣列中的每個元素調用一個函式所得到的結果組成的。
const array1 = [1, 2, 3]
const array2 = array1.map(item => item * 2)
console.log(array2) // 輸出 [2, 4, 6]
console.log(array1) // 輸出 [1, 2, 3] => 不會改變原陣列
上方程式碼範例將array1
透過array.map
的方式便利陣列元素,並將元素乘2,返回array2
為新的陣列
從原始的陣列中篩選出符合條件的元素,返回一個新的陣列,新的陣列只包含返回 true 的元素。
const array1 = [1, 15, 40, 22]
const array2 = array1.filter(item => item > 20)
console.log(array2) // 輸出 [40, 22]
console.log(array1) // 輸出 [1, 15, 40, 22] => 不會改變原陣列
上方範例中使用array.flter()
的方式過濾出大於20的元素,並產生了一個新的array2
的陣列
檢查原始陣列中的每一個元素是不是都有符合條件,如果全部都符合會回傳true
,有一個元素不符合,就會回傳false
。
const array1 = [2, 4, 6, 8, 10];
const array2 = array1.every(num => num % 2 === 0);
console.log(array2) // 輸出 true
console.log(array1) // 輸出 [2, 4, 6, 8, 10] => 不會改變原陣列
檢查原始陣列中的每一個元素是否都是偶數,結果是ture
檢查原始陣列中是否至少一個元素有符合條件,如果有則返回true
,否則返回false
。
const array1 = [1, 3, 5, 8, 10];
const array2 = array1.some(num => num % 2 === 0);
console.log(array2) // 輸出 true
console.log(array1) // 輸出 [1, 3, 5, 8, 10] => 不會改變原陣列
上方範例使用array.some
的方式遍歷array1
檢查是否有至少一個元素符合偶數,陣列中的8
和10
符合條件,因此在array2
返回true
。
every()
和 some()
,它們不一定會遍歷陣列的所有元素。
例如: